/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package org.cip.esymons.tramite.beans;

import java.util.Date;
import java.util.List;
import javax.servlet.http.Cookie;
import org.cip.esymons.general.be.Solicitante;
import org.cip.esymons.general.util.ControladorAbstracto;
import org.cip.esymons.general.util.Utiles;
import org.cip.esymons.tramite.bc.EmpleadoDelegate;
import org.cip.esymons.tramite.bc.PlantillaDelegate;
import org.cip.esymons.tramite.be.Plantilla;
import org.cip.esymons.tramite.be.TipoDocumento;

/**
 *
 * @author FreddyHIQ
 */
public class PlantillaController {

    private EmpleadoDelegate empDelegado;

    private PlantillaDelegate delegado;
    private Plantilla plantilla;
    private List<Plantilla> plantillas;
    private TipoDocumento tipDocSeleccionado;
    private boolean publico;
    private String editor = "";
    private Solicitante solicitante;

    public PlantillaController() {
        this.empDelegado=new EmpleadoDelegate();
        
        this.delegado = new PlantillaDelegate();
        this.plantilla=new Plantilla();
        this.solicitante=new Solicitante();
    }

    public Plantilla buscarXId(Long id){
        try{
        return delegado.find(id);
        }catch(Exception e){
            return null;
        }
    }

    public String nuevo(){
        plantilla=new Plantilla();
        plantilla.setPlaPublico(true);
        return "nuevo";
    }

    public String buscar(){
        solicitante=empDelegado.find(solicitante.getSolCodigo()).getPersonaNatural();
        plantillas=delegado.listarXSolicitante(solicitante, plantilla.getFkTdoCodigo());
        return "buscar";
    }

    private void getUsuario() {
        Cookie[] cookies = ControladorAbstracto.getRequest().getCookies();
        String codUsuario = Utiles.getCookieValue(cookies, "Usuario", "nulo");
        if (!codUsuario.equals("nulo")) {
            solicitante = empDelegado.find(new Long(codUsuario)).getPersonaNatural();
        }
    }

    public String gusrdarPlant(){
        getUsuario();
        plantilla.setFkSolCodigo(solicitante);
        plantilla.setPlaFecha(new Date());
        plantilla.setPlaActivo(true);
        delegado.create(plantilla);
        return buscar();
    }

    public boolean isPublico() {
        return publico;
    }

    public void setPublico(boolean publico) {
        this.publico = publico;
    }
    
    public TipoDocumento getTipDocSeleccionado() {
        return tipDocSeleccionado;
    }

    public void setTipDocSeleccionado(TipoDocumento tipDocSeleccionado) {
        this.tipDocSeleccionado = tipDocSeleccionado;
    }

    public Plantilla getPlantilla() {
        return plantilla;
    }

    public void setPlantilla(Plantilla plantilla) {
        this.plantilla = plantilla;
    }

    public String getEditor() {
        return editor;
    }

    public void setEditor(String editor) {
        this.editor = editor;
    }

    public List<Plantilla> getPlantillas() {
        return plantillas;
    }

    public void setPlantillas(List<Plantilla> plantillas) {
        this.plantillas = plantillas;
    }

    public Solicitante getSolicitante() {
        return solicitante;
    }

    public void setSolicitante(Solicitante solicitante) {
        this.solicitante = solicitante;
    }
}
